/***********************************************************************
*
* Copyright (c) 2012-2025 Barbara Geller
* Copyright (c) 2012-2025 Ansel Sermersheim
*
* Copyright (c) 2015 The Qt Company Ltd.
* Copyright (c) 2012-2016 Digia Plc and/or its subsidiary(-ies).
* Copyright (c) 2008-2012 Nokia Corporation and/or its subsidiary(-ies).
*
* This file is part of CopperSpice.
*
* CopperSpice is free software. You can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation.
*
* CopperSpice is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* https://www.gnu.org/licenses/
*
***********************************************************************/

/* This file is autogenerated from the Adobe Glyph List database v1.7. Do not edit */

namespace {

static const char glyph_names[] =
   ".notdef\0A\0AE\0AEacute\0Aacute\0Abreve\0Acircumflex\0Adieresis\0Agrave\0"
   "Alpha\0Alphatonos\0Amacron\0Aogonek\0Aring\0Aringacute\0Atilde\0B\0Beta\0C\0"
   "Cacute\0Ccaron\0Ccedilla\0Ccircumflex\0Cdotaccent\0Chi\0D\0Dcaron\0Dcroat\0"
   "Delta\0E\0Eacute\0Ebreve\0Ecaron\0Ecircumflex\0Edieresis\0Edotaccent\0"
   "Egrave\0Emacron\0Eng\0Eogonek\0Epsilon\0Epsilontonos\0Eta\0Etatonos\0Eth\0"
   "Euro\0F\0G\0Gamma\0Gbreve\0Gcaron\0Gcircumflex\0Gdotaccent\0H\0H18533\0"
   "H18543\0H18551\0H22073\0Hbar\0Hcircumflex\0I\0IJ\0Iacute\0Ibreve\0"
   "Icircumflex\0Idieresis\0Idotaccent\0Ifraktur\0Igrave\0Imacron\0Iogonek\0"
   "Iota\0Iotadieresis\0Iotatonos\0Itilde\0J\0Jcircumflex\0K\0Kappa\0L\0Lacute\0"
   "Lambda\0Lcaron\0Ldot\0Lslash\0M\0Mu\0N\0Nacute\0Ncaron\0Ntilde\0Nu\0O\0OE\0"
   "Oacute\0Obreve\0Ocircumflex\0Odieresis\0Ograve\0Ohorn\0Ohungarumlaut\0"
   "Omacron\0Omega\0Omegatonos\0Omicron\0Omicrontonos\0Oslash\0Oslashacute\0"
   "Otilde\0P\0Phi\0Pi\0Psi\0Q\0R\0Racute\0Rcaron\0Rfraktur\0Rho\0S\0SF010000\0"
   "SF020000\0SF030000\0SF040000\0SF050000\0SF060000\0SF070000\0SF080000\0"
   "SF090000\0SF100000\0SF110000\0SF190000\0SF200000\0SF210000\0SF220000\0"
   "SF230000\0SF240000\0SF250000\0SF260000\0SF270000\0SF280000\0SF360000\0"
   "SF370000\0SF380000\0SF390000\0SF400000\0SF410000\0SF420000\0SF430000\0"
   "SF440000\0SF450000\0SF460000\0SF470000\0SF480000\0SF490000\0SF500000\0"
   "SF510000\0SF520000\0SF530000\0SF540000\0Sacute\0Scaron\0Scedilla\0"
   "Scircumflex\0Sigma\0T\0Tau\0Tbar\0Tcaron\0Theta\0Thorn\0U\0Uacute\0Ubreve\0"
   "Ucircumflex\0Udieresis\0Ugrave\0Uhorn\0Uhungarumlaut\0Umacron\0Uogonek\0"
   "Upsilon\0Upsilon1\0Upsilondieresis\0Upsilontonos\0Uring\0Utilde\0V\0W\0"
   "Wacute\0Wcircumflex\0Wdieresis\0Wgrave\0X\0Xi\0Y\0Yacute\0Ycircumflex\0"
   "Ydieresis\0Ygrave\0Z\0Zacute\0Zcaron\0Zdotaccent\0Zeta\0a\0aacute\0abreve\0"
   "acircumflex\0acute\0acutecomb\0adieresis\0ae\0aeacute\0agrave\0aleph\0alpha\0"
   "alphatonos\0amacron\0ampersand\0angle\0angleleft\0angleright\0anoteleia\0"
   "aogonek\0approxequal\0aring\0aringacute\0arrowboth\0arrowdblboth\0"
   "arrowdbldown\0arrowdblleft\0arrowdblright\0arrowdblup\0arrowdown\0arrowleft\0"
   "arrowright\0arrowup\0arrowupdn\0arrowupdnbse\0asciicircum\0asciitilde\0"
   "asterisk\0asteriskmath\0at\0atilde\0b\0backslash\0bar\0beta\0block\0"
   "braceleft\0braceright\0bracketleft\0bracketright\0breve\0brokenbar\0bullet\0"
   "c\0cacute\0caron\0carriagereturn\0ccaron\0ccedilla\0ccircumflex\0cdotaccent\0"
   "cedilla\0cent\0chi\0circle\0circlemultiply\0circleplus\0circumflex\0club\0"
   "colon\0colonmonetary\0comma\0congruent\0copyright\0currency\0d\0dagger\0"
   "daggerdbl\0dcaron\0dcroat\0degree\0delta\0diamond\0dieresis\0dieresistonos\0"
   "divide\0dkshade\0dnblock\0dollar\0dong\0dotaccent\0dotbelowcomb\0dotlessi\0"
   "dotmath\0e\0eacute\0ebreve\0ecaron\0ecircumflex\0edieresis\0edotaccent\0"
   "egrave\0eight\0element\0ellipsis\0emacron\0emdash\0emptyset\0endash\0eng\0"
   "eogonek\0epsilon\0epsilontonos\0equal\0equivalence\0estimated\0eta\0"
   "etatonos\0eth\0exclam\0exclamdbl\0exclamdown\0existential\0f\0female\0"
   "figuredash\0filledbox\0filledrect\0five\0fiveeighths\0florin\0four\0"
   "fraction\0franc\0g\0gamma\0gbreve\0gcaron\0gcircumflex\0gdotaccent\0"
   "germandbls\0gradient\0grave\0gravecomb\0greater\0greaterequal\0"
   "guillemotleft\0guillemotright\0guilsinglleft\0guilsinglright\0h\0hbar\0"
   "hcircumflex\0heart\0hookabovecomb\0house\0hungarumlaut\0hyphen\0i\0iacute\0"
   "ibreve\0icircumflex\0idieresis\0igrave\0ij\0imacron\0infinity\0integral\0"
   "integralbt\0integraltp\0intersection\0invbullet\0invcircle\0invsmileface\0"
   "iogonek\0iota\0iotadieresis\0iotadieresistonos\0iotatonos\0itilde\0j\0"
   "jcircumflex\0k\0kappa\0kgreenlandic\0l\0lacute\0lambda\0lcaron\0ldot\0less\0"
   "lessequal\0lfblock\0lira\0logicaland\0logicalnot\0logicalor\0longs\0lozenge\0"
   "lslash\0ltshade\0m\0macron\0male\0minus\0minute\0mu\0multiply\0musicalnote\0"
   "musicalnotedbl\0n\0nacute\0napostrophe\0ncaron\0nine\0notelement\0notequal\0"
   "notsubset\0ntilde\0nu\0numbersign\0o\0oacute\0obreve\0ocircumflex\0"
   "odieresis\0oe\0ogonek\0ograve\0ohorn\0ohungarumlaut\0omacron\0omega\0omega1\0"
   "omegatonos\0omicron\0omicrontonos\0one\0onedotenleader\0oneeighth\0onehalf\0"
   "onequarter\0onethird\0openbullet\0ordfeminine\0ordmasculine\0orthogonal\0"
   "oslash\0oslashacute\0otilde\0p\0paragraph\0parenleft\0parenright\0"
   "partialdiff\0percent\0period\0periodcentered\0perpendicular\0perthousand\0"
   "peseta\0phi\0phi1\0pi\0plus\0plusminus\0prescription\0product\0propersubset\0"
   "propersuperset\0proportional\0psi\0q\0question\0questiondown\0quotedbl\0"
   "quotedblbase\0quotedblleft\0quotedblright\0quoteleft\0quotereversed\0"
   "quoteright\0quotesinglbase\0quotesingle\0r\0racute\0radical\0rcaron\0"
   "reflexsubset\0reflexsuperset\0registered\0revlogicalnot\0rho\0ring\0rtblock\0"
   "s\0sacute\0scaron\0scedilla\0scircumflex\0second\0section\0semicolon\0seven\0"
   "seveneighths\0shade\0sigma\0sigma1\0similar\0six\0slash\0smileface\0space\0"
   "spade\0sterling\0suchthat\0summation\0sun\0t\0tau\0tbar\0tcaron\0therefore\0"
   "theta\0theta1\0thorn\0three\0threeeighths\0threequarters\0tilde\0tildecomb\0"
   "tonos\0trademark\0triagdn\0triaglf\0triagrt\0triagup\0two\0twodotenleader\0"
   "twothirds\0u\0uacute\0ubreve\0ucircumflex\0udieresis\0ugrave\0uhorn\0"
   "uhungarumlaut\0umacron\0underscore\0underscoredbl\0union\0universal\0"
   "uogonek\0upblock\0upsilon\0upsilondieresis\0upsilondieresistonos\0"
   "upsilontonos\0uring\0utilde\0v\0w\0wacute\0wcircumflex\0wdieresis\0"
   "weierstrass\0wgrave\0x\0xi\0y\0yacute\0ycircumflex\0ydieresis\0yen\0ygrave\0"
   "z\0zacute\0zcaron\0zdotaccent\0zero\0zeta\0"
   ;

struct AGLEntry {
   unsigned short uc;
   unsigned short index;
};

#if defined(Q_CC_MSVC) && _MSC_VER < 1600
inline bool operator<(AGLEntry entry1, AGLEntry entry2)
{
   return entry1.uc < entry2.uc;
}
#endif

inline bool operator<(unsigned short uc, AGLEntry entry)
{
   return uc < entry.uc;
}
inline bool operator<(AGLEntry entry, unsigned short uc)
{
   return entry.uc < uc;
}

static const AGLEntry unicode_to_agl_map[] = {
   { 0x0000, 0    }, { 0x0020, 4183 }, { 0x0021, 2512 }, { 0x0022, 3850 },
   { 0x0023, 3356 }, { 0x0024, 2265 }, { 0x0025, 3670 }, { 0x0026, 1604 },
   { 0x0027, 3949 }, { 0x0028, 3637 }, { 0x0029, 3647 }, { 0x002a, 1847 },
   { 0x002b, 3745 }, { 0x002c, 2130 }, { 0x002d, 2855 }, { 0x002e, 3678 },
   { 0x002f, 4167 }, { 0x0030, 4727 }, { 0x0031, 3495 }, { 0x0032, 4371 },
   { 0x0033, 4274 }, { 0x0034, 2617 }, { 0x0035, 2593 }, { 0x0036, 4163 },
   { 0x0037, 4117 }, { 0x0038, 2380 }, { 0x0039, 3311 }, { 0x003a, 2110 },
   { 0x003b, 4107 }, { 0x003c, 3128 }, { 0x003d, 2467 }, { 0x003e, 2718 },
   { 0x003f, 3828 }, { 0x0040, 1869 }, { 0x0041, 8    }, { 0x0042, 121  },
   { 0x0043, 128  }, { 0x0044, 180  }, { 0x0045, 202  }, { 0x0046, 328  },
   { 0x0047, 330  }, { 0x0048, 375  }, { 0x0049, 422  }, { 0x004a, 541  },
   { 0x004b, 555  }, { 0x004c, 563  }, { 0x004d, 598  }, { 0x004e, 603  },
   { 0x004f, 629  }, { 0x0050, 769  }, { 0x0051, 782  }, { 0x0052, 784  },
   { 0x0053, 813  }, { 0x0054, 1216 }, { 0x0055, 1246 }, { 0x0056, 1386 },
   { 0x0057, 1388 }, { 0x0058, 1426 }, { 0x0059, 1431 }, { 0x005a, 1469 },
   { 0x005b, 1927 }, { 0x005c, 1881 }, { 0x005d, 1939 }, { 0x005e, 1824 },
   { 0x005f, 4473 }, { 0x0060, 2702 }, { 0x0061, 1501 }, { 0x0062, 1879 },
   { 0x0063, 1975 }, { 0x0064, 2165 }, { 0x0065, 2317 }, { 0x0066, 2552 },
   { 0x0067, 2637 }, { 0x0068, 2797 }, { 0x0069, 2862 }, { 0x006a, 3065 },
   { 0x006b, 3079 }, { 0x006c, 3100 }, { 0x006d, 3217 }, { 0x006e, 3283 },
   { 0x006f, 3367 }, { 0x0070, 3625 }, { 0x0071, 3826 }, { 0x0072, 3961 },
   { 0x0073, 4055 }, { 0x0074, 4227 }, { 0x0075, 4400 }, { 0x0076, 4601 },
   { 0x0077, 4603 }, { 0x0078, 4653 }, { 0x0079, 4658 }, { 0x007a, 4700 },
   { 0x007b, 1906 }, { 0x007c, 1891 }, { 0x007d, 1916 }, { 0x007e, 1836 },
   { 0x00a1, 2529 }, { 0x00a2, 2052 }, { 0x00a3, 4195 }, { 0x00a4, 2156 },
   { 0x00a5, 4689 }, { 0x00a6, 1958 }, { 0x00a7, 4099 }, { 0x00a8, 2219 },
   { 0x00a9, 2146 }, { 0x00aa, 3563 }, { 0x00ab, 2739 }, { 0x00ac, 3167 },
   { 0x00ae, 4013 }, { 0x00af, 3219 }, { 0x00b0, 2198 }, { 0x00b1, 3750 },
   { 0x00b4, 1529 }, { 0x00b5, 3244 }, { 0x00b6, 3627 }, { 0x00b7, 3685 },
   { 0x00b8, 2044 }, { 0x00ba, 3575 }, { 0x00bb, 2753 }, { 0x00bc, 3532 },
   { 0x00bd, 3524 }, { 0x00be, 4293 }, { 0x00bf, 3837 }, { 0x00c0, 57   },
   { 0x00c1, 21   }, { 0x00c2, 35   }, { 0x00c3, 114  }, { 0x00c4, 47   },
   { 0x00c5, 97   }, { 0x00c6, 10   }, { 0x00c7, 144  }, { 0x00c8, 258  },
   { 0x00c9, 204  }, { 0x00ca, 225  }, { 0x00cb, 237  }, { 0x00cc, 483  },
   { 0x00cd, 427  }, { 0x00ce, 441  }, { 0x00cf, 453  }, { 0x00d0, 319  },
   { 0x00d1, 619  }, { 0x00d2, 670  }, { 0x00d3, 634  }, { 0x00d4, 648  },
   { 0x00d5, 762  }, { 0x00d6, 660  }, { 0x00d7, 3247 }, { 0x00d8, 743  },
   { 0x00d9, 1284 }, { 0x00da, 1248 }, { 0x00db, 1262 }, { 0x00dc, 1274 },
   { 0x00dd, 1433 }, { 0x00de, 1240 }, { 0x00df, 2682 }, { 0x00e0, 1566 },
   { 0x00e1, 1503 }, { 0x00e2, 1517 }, { 0x00e3, 1872 }, { 0x00e4, 1545 },
   { 0x00e5, 1671 }, { 0x00e6, 1555 }, { 0x00e7, 2012 }, { 0x00e8, 2373 },
   { 0x00e9, 2319 }, { 0x00ea, 2340 }, { 0x00eb, 2352 }, { 0x00ec, 2900 },
   { 0x00ed, 2864 }, { 0x00ee, 2878 }, { 0x00ef, 2890 }, { 0x00f0, 2508 },
   { 0x00f1, 3346 }, { 0x00f2, 3415 }, { 0x00f3, 3369 }, { 0x00f4, 3383 },
   { 0x00f5, 3618 }, { 0x00f6, 3395 }, { 0x00f7, 2242 }, { 0x00f8, 3599 },
   { 0x00f9, 4438 }, { 0x00fa, 4402 }, { 0x00fb, 4416 }, { 0x00fc, 4428 },
   { 0x00fd, 4660 }, { 0x00fe, 4268 }, { 0x00ff, 4679 }, { 0x0100, 81   },
   { 0x0101, 1596 }, { 0x0102, 28   }, { 0x0103, 1510 }, { 0x0104, 89   },
   { 0x0105, 1651 }, { 0x0106, 130  }, { 0x0107, 1977 }, { 0x0108, 153  },
   { 0x0109, 2021 }, { 0x010a, 165  }, { 0x010b, 2033 }, { 0x010c, 137  },
   { 0x010d, 2005 }, { 0x010e, 182  }, { 0x010f, 2184 }, { 0x0110, 189  },
   { 0x0111, 2191 }, { 0x0112, 265  }, { 0x0113, 2403 }, { 0x0114, 211  },
   { 0x0115, 2326 }, { 0x0116, 247  }, { 0x0117, 2362 }, { 0x0118, 277  },
   { 0x0119, 2438 }, { 0x011a, 218  }, { 0x011b, 2333 }, { 0x011c, 352  },
   { 0x011d, 2659 }, { 0x011e, 338  }, { 0x011f, 2645 }, { 0x0120, 364  },
   { 0x0121, 2671 }, { 0x0124, 410  }, { 0x0125, 2804 }, { 0x0126, 405  },
   { 0x0127, 2799 }, { 0x0128, 534  }, { 0x0129, 3058 }, { 0x012a, 490  },
   { 0x012b, 2910 }, { 0x012c, 434  }, { 0x012d, 2871 }, { 0x012e, 498  },
   { 0x012f, 3004 }, { 0x0130, 463  }, { 0x0131, 2300 }, { 0x0132, 424  },
   { 0x0133, 2907 }, { 0x0134, 543  }, { 0x0135, 3067 }, { 0x0138, 3087 },
   { 0x0139, 565  }, { 0x013a, 3102 }, { 0x013d, 579  }, { 0x013e, 3116 },
   { 0x013f, 586  }, { 0x0140, 3123 }, { 0x0141, 591  }, { 0x0142, 3202 },
   { 0x0143, 605  }, { 0x0144, 3285 }, { 0x0147, 612  }, { 0x0148, 3304 },
   { 0x0149, 3292 }, { 0x014a, 273  }, { 0x014b, 2434 }, { 0x014c, 697  },
   { 0x014d, 3442 }, { 0x014e, 641  }, { 0x014f, 3376 }, { 0x0150, 683  },
   { 0x0151, 3428 }, { 0x0152, 631  }, { 0x0153, 3405 }, { 0x0154, 786  },
   { 0x0155, 3963 }, { 0x0158, 793  }, { 0x0159, 3978 }, { 0x015a, 1175 },
   { 0x015b, 4057 }, { 0x015c, 1198 }, { 0x015d, 4080 }, { 0x015e, 1189 },
   { 0x015f, 4071 }, { 0x0160, 1182 }, { 0x0161, 4064 }, { 0x0164, 1227 },
   { 0x0165, 4238 }, { 0x0166, 1222 }, { 0x0167, 4233 }, { 0x0168, 1379 },
   { 0x0169, 4594 }, { 0x016a, 1311 }, { 0x016b, 4465 }, { 0x016c, 1255 },
   { 0x016d, 4409 }, { 0x016e, 1373 }, { 0x016f, 4588 }, { 0x0170, 1297 },
   { 0x0171, 4451 }, { 0x0172, 1319 }, { 0x0173, 4514 }, { 0x0174, 1397 },
   { 0x0175, 4612 }, { 0x0176, 1440 }, { 0x0177, 4667 }, { 0x0178, 1452 },
   { 0x0179, 1471 }, { 0x017a, 4702 }, { 0x017b, 1485 }, { 0x017c, 4716 },
   { 0x017d, 1478 }, { 0x017e, 4709 }, { 0x017f, 3188 }, { 0x0192, 2610 },
   { 0x01a0, 677  }, { 0x01a1, 3422 }, { 0x01af, 1291 }, { 0x01b0, 4445 },
   { 0x01e6, 345  }, { 0x01e7, 2652 }, { 0x01fa, 103  }, { 0x01fb, 1677 },
   { 0x01fc, 13   }, { 0x01fd, 1558 }, { 0x01fe, 750  }, { 0x01ff, 3606 },
   { 0x02c6, 2094 }, { 0x02c7, 1984 }, { 0x02d8, 1952 }, { 0x02d9, 2277 },
   { 0x02da, 4042 }, { 0x02db, 3408 }, { 0x02dc, 4307 }, { 0x02dd, 2842 },
   { 0x0300, 2708 }, { 0x0301, 1535 }, { 0x0303, 4313 }, { 0x0309, 2822 },
   { 0x0323, 2287 }, { 0x0384, 4323 }, { 0x0385, 2228 }, { 0x0386, 70   },
   { 0x0387, 1641 }, { 0x0388, 293  }, { 0x0389, 310  }, { 0x038a, 524  },
   { 0x038c, 730  }, { 0x038e, 1360 }, { 0x038f, 711  }, { 0x0390, 3030 },
   { 0x0391, 64   }, { 0x0392, 123  }, { 0x0393, 332  }, { 0x0395, 285  },
   { 0x0396, 1496 }, { 0x0397, 306  }, { 0x0398, 1234 }, { 0x0399, 506  },
   { 0x039a, 557  }, { 0x039b, 572  }, { 0x039c, 600  }, { 0x039d, 626  },
   { 0x039e, 1428 }, { 0x039f, 722  }, { 0x03a0, 775  }, { 0x03a1, 809  },
   { 0x03a3, 1210 }, { 0x03a4, 1218 }, { 0x03a5, 1327 }, { 0x03a6, 771  },
   { 0x03a7, 176  }, { 0x03a8, 778  }, { 0x03aa, 511  }, { 0x03ab, 1344 },
   { 0x03ac, 1585 }, { 0x03ad, 2454 }, { 0x03ae, 2499 }, { 0x03af, 3048 },
   { 0x03b0, 4554 }, { 0x03b1, 1579 }, { 0x03b2, 1895 }, { 0x03b3, 2639 },
   { 0x03b4, 2205 }, { 0x03b5, 2446 }, { 0x03b6, 4732 }, { 0x03b7, 2495 },
   { 0x03b8, 4255 }, { 0x03b9, 3012 }, { 0x03ba, 3081 }, { 0x03bb, 3109 },
   { 0x03bd, 3353 }, { 0x03be, 4655 }, { 0x03bf, 3474 }, { 0x03c0, 3742 },
   { 0x03c1, 4038 }, { 0x03c2, 4148 }, { 0x03c3, 4142 }, { 0x03c4, 4229 },
   { 0x03c5, 4530 }, { 0x03c6, 3733 }, { 0x03c7, 2057 }, { 0x03c8, 3822 },
   { 0x03c9, 3450 }, { 0x03ca, 3017 }, { 0x03cb, 4538 }, { 0x03cc, 3482 },
   { 0x03cd, 4575 }, { 0x03ce, 3463 }, { 0x03d1, 4261 }, { 0x03d2, 1335 },
   { 0x03d5, 3737 }, { 0x03d6, 3456 }, { 0x1e80, 1419 }, { 0x1e81, 4646 },
   { 0x1e82, 1390 }, { 0x1e83, 4605 }, { 0x1e84, 1409 }, { 0x1e85, 4624 },
   { 0x1ef2, 1462 }, { 0x1ef3, 4693 }, { 0x2012, 2561 }, { 0x2013, 2427 },
   { 0x2014, 2411 }, { 0x2017, 4484 }, { 0x2018, 3899 }, { 0x2019, 3923 },
   { 0x201a, 3934 }, { 0x201b, 3909 }, { 0x201c, 3872 }, { 0x201d, 3885 },
   { 0x201e, 3859 }, { 0x2020, 2167 }, { 0x2021, 2174 }, { 0x2022, 1968 },
   { 0x2024, 3499 }, { 0x2025, 4375 }, { 0x2026, 2394 }, { 0x2030, 3714 },
   { 0x2032, 3237 }, { 0x2033, 4092 }, { 0x2039, 2768 }, { 0x203a, 2782 },
   { 0x203c, 2519 }, { 0x2044, 2622 }, { 0x20a1, 2116 }, { 0x20a3, 2631 },
   { 0x20a4, 3151 }, { 0x20a7, 3726 }, { 0x20ab, 2272 }, { 0x20ac, 323  },
   { 0x2111, 474  }, { 0x2118, 4634 }, { 0x211c, 800  }, { 0x211e, 3760 },
   { 0x2122, 4329 }, { 0x2126, 705  }, { 0x212e, 2485 }, { 0x2135, 1573 },
   { 0x2153, 3543 }, { 0x2154, 4390 }, { 0x215b, 3514 }, { 0x215c, 4280 },
   { 0x215d, 2598 }, { 0x215e, 4123 }, { 0x2190, 1772 }, { 0x2191, 1793 },
   { 0x2192, 1782 }, { 0x2193, 1762 }, { 0x2194, 1688 }, { 0x2195, 1801 },
   { 0x21a8, 1811 }, { 0x21b5, 1990 }, { 0x21d0, 1724 }, { 0x21d1, 1751 },
   { 0x21d2, 1737 }, { 0x21d3, 1711 }, { 0x21d4, 1698 }, { 0x2200, 4504 },
   { 0x2202, 3658 }, { 0x2203, 2540 }, { 0x2205, 2418 }, { 0x2206, 196  },
   { 0x2207, 2693 }, { 0x2208, 2386 }, { 0x2209, 3316 }, { 0x220b, 4204 },
   { 0x220f, 3773 }, { 0x2211, 4213 }, { 0x2212, 3231 }, { 0x2217, 1856 },
   { 0x221a, 3970 }, { 0x221d, 3809 }, { 0x221e, 2918 }, { 0x221f, 3588 },
   { 0x2220, 1614 }, { 0x2227, 3156 }, { 0x2228, 3178 }, { 0x2229, 2958 },
   { 0x222a, 4498 }, { 0x222b, 2927 }, { 0x2234, 4245 }, { 0x223c, 4155 },
   { 0x2245, 2136 }, { 0x2248, 1659 }, { 0x2260, 3327 }, { 0x2261, 2473 },
   { 0x2264, 3133 }, { 0x2265, 2726 }, { 0x2282, 3781 }, { 0x2283, 3794 },
   { 0x2284, 3336 }, { 0x2286, 3985 }, { 0x2287, 3998 }, { 0x2295, 2083 },
   { 0x2297, 2068 }, { 0x22a5, 3700 }, { 0x22c5, 2309 }, { 0x2302, 2836 },
   { 0x2310, 4024 }, { 0x2320, 2947 }, { 0x2321, 2936 }, { 0x2329, 1620 },
   { 0x232a, 1630 }, { 0x2500, 896  }, { 0x2502, 905  }, { 0x250c, 815  },
   { 0x2510, 833  }, { 0x2514, 824  }, { 0x2518, 842  }, { 0x251c, 878  },
   { 0x2524, 887  }, { 0x252c, 860  }, { 0x2534, 869  }, { 0x253c, 851  },
   { 0x2550, 1067 }, { 0x2551, 959  }, { 0x2552, 1139 }, { 0x2553, 1148 },
   { 0x2554, 1031 }, { 0x2555, 941  }, { 0x2556, 932  }, { 0x2557, 968  },
   { 0x2558, 1130 }, { 0x2559, 1121 }, { 0x255a, 1022 }, { 0x255b, 995  },
   { 0x255c, 986  }, { 0x255d, 977  }, { 0x255e, 1004 }, { 0x255f, 1013 },
   { 0x2560, 1058 }, { 0x2561, 914  }, { 0x2562, 923  }, { 0x2563, 950  },
   { 0x2564, 1103 }, { 0x2565, 1112 }, { 0x2566, 1049 }, { 0x2567, 1085 },
   { 0x2568, 1094 }, { 0x2569, 1040 }, { 0x256a, 1166 }, { 0x256b, 1157 },
   { 0x256c, 1076 }, { 0x2580, 4522 }, { 0x2584, 2257 }, { 0x2588, 1900 },
   { 0x258c, 3143 }, { 0x2590, 4047 }, { 0x2591, 3209 }, { 0x2592, 4136 },
   { 0x2593, 2249 }, { 0x25a0, 2572 }, { 0x25a1, 398  }, { 0x25aa, 384  },
   { 0x25ab, 391  }, { 0x25ac, 2582 }, { 0x25b2, 4363 }, { 0x25ba, 4355 },
   { 0x25bc, 4339 }, { 0x25c4, 4347 }, { 0x25ca, 3194 }, { 0x25cb, 2061 },
   { 0x25cf, 377  }, { 0x25d8, 2971 }, { 0x25d9, 2981 }, { 0x25e6, 3552 },
   { 0x263a, 4173 }, { 0x263b, 2991 }, { 0x263c, 4223 }, { 0x2640, 2554 },
   { 0x2642, 3226 }, { 0x2660, 4189 }, { 0x2663, 2105 }, { 0x2665, 2816 },
   { 0x2666, 2211 }, { 0x266a, 3256 }, { 0x266b, 3268 }
};

static constexpr const int unicode_to_agl_map_size = sizeof(unicode_to_agl_map) / sizeof(unicode_to_agl_map[0]);

}
